﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SDFL.KeyPoints.DesignPattern.Facade.Structural
{
    class Facade
    {
        private SubSystemA _a;
        private SubSystemB _b;
        private SubSystemC _c;
        private SubSystemD _d;

        public Facade()
        {
            _a = new SubSystemA();
            _b = new SubSystemB();
            _c = new SubSystemC();
            _d = new SubSystemD();
        }

        public void Run()
        {
            Console.WriteLine("\nMethod Run() ---- ");

            _a.MethodA();
            _b.MethodB();
            _d.MethodD();
        }

        public void TurnRound()
        {
            Console.WriteLine("\nMethod TurnRound() ---- ");

            _a.MethodA();
            _c.MethodC();
        }
    }
}
